# Copyright (C) 2007 Laszlo Pandy <laszlok2@gmail.com>
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Library General Public
# License as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# Library General Public License for more details.
#
# You should have received a copy of the GNU Library General Public
# License along with this library; if not, write to the
# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.

import NewPaymentDialog

class EditPaymentDialog(NewPaymentDialog.NewPaymentDialog):
	def __init__(self, parentWindow, account, editPaymentCb, paymentID):
		NewPaymentDialog.NewPaymentDialog.__init__(self, parentWindow, account, editPaymentCb)
		self.window.set_title("Edit Payment")
		
		self.payment = self.account.findBill(paymentID)
		self.ID = self.payment.ID
		
		self.valueSpinButton.set_value( float(self.payment.getValue()) )
		self.dateEntry.set_text( str(self.payment.getDate()) )
		self.SetActiveCombo(self.descriptionEntry, self.payment.getDetails())
		self.SetActiveCombo(self.categoryCombo, str(self.payment.getCategory() or "None"))
		self.SetActiveCombo(self.paidByCombo, str(self.payment.getPaidBy()))
		self.commentsTextView.get_buffer().set_text(self.payment.getComments())
		
		self.shareWidget.SetProfile(self.payment.getSharedBy())
	
	def SetActiveCombo(self, combobox, itemValue):
		model = combobox.get_model()
		itemIter = model.get_iter_first()
		while (itemIter):
			if model.get_value(itemIter, 0) == itemValue:
				combobox.set_active_iter(itemIter)
				break
			itemIter = model.iter_next(itemIter)
